package cn.exrick.xboot.base.service

import cn.exrick.xboot.base.dto.BreakRolesRecordDto
import cn.exrick.xboot.base.entity.BreakRolesRecord
import cn.exrick.xboot.base.vo.BreakRolesRecordDetailVo
import cn.exrick.xboot.core.common.vo.PageVo
import cn.exrick.xboot.core.common.vo.Result
import com.baomidou.mybatisplus.extension.service.IService

/**
 * 违章记录接口
 * @author Fei
 */
interface IBreakRolesRecordService : IService<BreakRolesRecord?> {


    /**
     * 添加或者更新违章记录
     */
    fun createOrUpdateBreakRoleRecord(breakRolesRecord: BreakRolesRecord): Result<Any?>?

    /**
     * 移除违章记录
     */
    fun removeBreakRoleRecord(ids: Array<out String>): Result<Any?>?

    /**
     * (安全顾问)获取违章列表(管理系统 && app)
     */
    fun getBreakRoleRecordList(breakRolesRecordDto: BreakRolesRecordDto, pageVo: PageVo): Result<MutableMap<String, Any?>>?


    /**
     * (安全顾问&&员工)获取违章纪录详情(管理系统 && app)
     */
    fun getBreakRoleRecordDetail(id: String?): Result<BreakRolesRecordDetailVo>?


    /**
     * (员工)获取我的违章纪录列表
     */
    fun getMyBreakRoleRecord(pageVo: PageVo): Result<MutableMap<String, Any?>>?
}